#ifndef __CACHE_H__
#define __CACHE_H__

#include "common.h"

#define E 8 //8路组相连映射
#define CACHE_BLOCK 64  //每个block是64B
#define CACHE_SIZE 64*1024  //cache的大小是64kb

struct cache_l1 {
    bool valid;//有效标志位
    int tag;//分组
    uint8_t byte[CACHE_BLOCK];
}cache[CACHE_SIZE / CACHE_BLOCK];//定义cache的结构

uint64_t cnt;

void init_cache();
uint32_t cache_read(hwaddr_t addr);
void cache_write(hwaddr_t addr,size_t len,uint32_t data);

#endif